# configurando caminhos
INCLUDE_DIR=include
SRC_DIR=src
OBJ_DIR=objs
DOX_CONFIG=doc/dox
DOC_DIR=doc
LANG_DIR=po

# variáveis do compilador
CC=gcc
#CFLAGS=-Wall -std=c99 -pedantic -lm -I$(INCLUDE_DIR) -O2 -fomit-frame-pointer
# comentar a variável acima e descomentar a abaixo para debug
#CFLAGS=-Wall -std=c99 -pedantic -lm -ggdb3 -pg -I$(INCLUDE_DIR)
CFLAGS=-g -Wall -std=c99 -pedantic -lm -ggdb3 -I$(INCLUDE_DIR)

# variáveis do makefile
TARGET=executavel

# pegando lista de arquivos .c do diretório de fontes
SRC_FILES=$(shell ls -m $(SRC_DIR) | sed 's/,//g' | xargs -e)

OBJS=$(SRC_FILES:.c=.o)
.PHONY : all clean pkg doc
VPATH = $(SRC_DIR):$(OBJ_DIR)

all : $(OBJS)
	@echo "Linkando programa principal"
	@$(CC) $(CFLAGS) $(OBJ_DIR)/*.o -o $(TARGET)

%.o : %.c
	@echo "$(shell basename $<) -> $(shell basename $@)"
	@$(CC) $(CFLAGS) $< -c -o $(OBJ_DIR)/$@

clean :
	@-rm $(OBJ_DIR)/*.o

doc :
	doxygen $(DOX_CONFIG)
